cc.Class({
    extends: cc.Component,
    

    //目前缺陷是 控制左右的可执行滑动范围 还有就是各种屏幕实际适配测试
    start() {
        // 初始化地图的参考位置
        this.startPos = this.node.position;
        // 是否正在滑动
        this.isMoving = false;
    },
 
    onLoad() {
        // 注册触摸事件
        this.node.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
        this.node.on(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove, this);
        this.node.on(cc.Node.EventType.TOUCH_END, this.onTouchEnd, this);
    },
 
    onTouchStart(event) {
        // 记录开始触摸的位置
        this.startPos = event.getLocation();
        this.isMoving = true;
    },
 
    onTouchMove(event) {
        if (this.isMoving) {
            // 获取当前触摸的位置
            let currentPos = event.getLocation();
            // 计算移动的偏移量
            let offsetX = currentPos.x - this.startPos.x;
 
            // 更新地图位置
            this.node.x += offsetX;
 
            // 更新开始位置为当前位置
            this.startPos = currentPos;
        }
    },
 
    onTouchEnd(event) {
        this.isMoving = false;
    },
 
    // 清理注册的事件
    onDestroy() {
        this.node.off(cc.Node.EventType.TOUCH_START, this.onTouchStart);
        this.node.off(cc.Node.EventType.TOUCH_MOVE, this.onTouchMove);
        this.node.off(cc.Node.EventType.TOUCH_END, this.onTouchEnd);
    }
});